/*     */ package com.newcrm.bean;
/*     */ 
/*     */ import com.newcrm.util.Util;
/*     */ import java.util.ArrayList;
/*     */ import java.util.Date;
/*     */ import java.util.List;
/*     */ import java.util.Map;
/*     */ 
/*     */ public class CompanyInfo
/*     */ {
/*  12 */   public int id = -1;
/*     */ 
/*  14 */   public String name = null;
/*     */ 
/*  17 */   public Date createDate = null;
/*     */ 
/*  20 */   public List<User> users = null;
/*     */ 
/*  23 */   public List<Group> topGroups = new ArrayList();
/*     */ 
/*  26 */   public List<Map<String, Object>> taskCategorys = null;
/*     */ 
/*  28 */   public List<Map<String, Object>> dealCategorys = null;
/*     */ 
/*  30 */   public List<Map<String, Object>> customerCategorys = null;
/*     */ 
/*  32 */   public List<Map<String, Object>> noteDefaultWords = null;
/*     */ 
/*  34 */   public List<Map<String, Object>> tags = null;
/*     */ 
/*  37 */   public String allowPublicGroupList = null;
/*     */ 
/*  40 */   public String closeGroupPublicDataFlag = null;
/*     */ 
/*  43 */   public String setPublicReadOnlyFlag = null;
/*     */ 
/*  46 */   public QisoukeActivationCode qisoukeActivationCode = new QisoukeActivationCode();
/*     */ 
/*     */   public String getGroupPublicDataFlag() {
/*  49 */     return this.closeGroupPublicDataFlag;
/*     */   }
/*     */ 
/*     */   public boolean isPublicReadOnly()
/*     */   {
/*  58 */     return "1".equals(this.setPublicReadOnlyFlag);
/*     */   }
/*     */ 
/*     */   public boolean isCloseGroupPublicData()
/*     */   {
/*  67 */     return "1".equals(this.closeGroupPublicDataFlag);
/*     */   }
/*     */ 
/*     */   public String getSetPublicReadOnlyFlag()
/*     */   {
/*  74 */     return this.setPublicReadOnlyFlag;
/*     */   }
/*     */ 
/*     */   public void setSetPublicReadOnlyFlag(String setPublicReadOnlyFlag)
/*     */   {
/*  82 */     this.setPublicReadOnlyFlag = setPublicReadOnlyFlag;
/*     */   }
/*     */ 
/*     */   public void setGroupPublicDataFlag(String groupPublicDataFlag) {
/*  86 */     this.closeGroupPublicDataFlag = groupPublicDataFlag;
/*     */   }
/*     */ 
/*     */   public String getAllowPublicGroupList() {
/*  90 */     return this.allowPublicGroupList;
/*     */   }
/*     */ 
/*     */   public void setAllowPublicGroupList(String allowPublicGroupList) {
/*  94 */     this.allowPublicGroupList = allowPublicGroupList;
/*     */   }
/*     */ 
/*     */   public int getId() {
/*  98 */     return this.id;
/*     */   }
/*     */ 
/*     */   public String getName() {
/* 102 */     return this.name;
/*     */   }
/*     */ 
/*     */   public List<User> getUsers() {
/* 106 */     return this.users;
/*     */   }
/*     */ 
/*     */   public List<Group> getAllGroups()
/*     */   {
/* 115 */     if ((this.topGroups == null) || (this.topGroups.size() == 0)) {
/* 116 */       return new ArrayList();
/*     */     }
/*     */ 
/* 119 */     List allGroups = new ArrayList();
/* 120 */     for (Group group : this.topGroups) {
/* 121 */       allGroups.add(group);
/*     */ 
/* 123 */       List childrenGroups = group.getAllChildren();
/* 124 */       if (childrenGroups != null) {
/* 125 */         allGroups.addAll(childrenGroups);
/*     */       }
/*     */     }
/* 128 */     return allGroups;
/*     */   }
/*     */ 
/*     */   public List<Map<String, Object>> getTaskCategorys()
/*     */   {
/* 136 */     return this.taskCategorys;
/*     */   }
/*     */ 
/*     */   public List<Map<String, Object>> getDealCategorys()
/*     */   {
/* 144 */     return this.dealCategorys;
/*     */   }
/*     */ 
/*     */   public List<Map<String, Object>> getCustomerCategorys()
/*     */   {
/* 152 */     return this.customerCategorys;
/*     */   }
/*     */ 
/*     */   public List<Map<String, Object>> getNoteDefaultWords()
/*     */   {
/* 160 */     return this.noteDefaultWords;
/*     */   }
/*     */ 
/*     */   public List<Map<String, Object>> getTags()
/*     */   {
/* 168 */     return this.tags;
/*     */   }
/*     */ 
/*     */   public String getDealCategoryName(int dealCategoryId)
/*     */   {
/* 177 */     if (this.dealCategorys == null) {
/* 178 */       return null;
/*     */     }
/*     */ 
/* 181 */     for (Map item : this.dealCategorys) {
/* 182 */       if (Util.str2Int(item.get("DealCategoryId")) == dealCategoryId) {
/* 183 */         return (String)item.get("DealCategoryName");
/*     */       }
/*     */     }
/* 186 */     return null;
/*     */   }
/*     */ 
/*     */   public String getCustomerCategoryName(int categoryId)
/*     */   {
/* 196 */     if (this.customerCategorys == null) {
/* 197 */       return null;
/*     */     }
/*     */ 
/* 200 */     for (Map item : this.customerCategorys) {
/* 201 */       if (Util.str2Int(item.get("CategoryId")) == categoryId) {
/* 202 */         return (String)item.get("CategoryName");
/*     */       }
/*     */     }
/*     */ 
/* 206 */     return null;
/*     */   }
/*     */ 
/*     */   public String getCustomerCategoryColor(int categoryId) {
/* 210 */     if (this.customerCategorys == null) {
/* 211 */       return null;
/*     */     }
/*     */ 
/* 214 */     for (Map item : this.customerCategorys) {
/* 215 */       if (Util.str2Int(item.get("CategoryId")) == categoryId) {
/* 216 */         return (String)item.get("Color");
/*     */       }
/*     */     }
/*     */ 
/* 220 */     return null;
/*     */   }
/*     */ 
/*     */   public String getCustomerTagName(int tagId)
/*     */   {
/* 230 */     if (this.tags == null) {
/* 231 */       return null;
/*     */     }
/*     */ 
/* 234 */     for (Map item : this.tags) {
/* 235 */       if (Util.str2Int(item.get("TagId")) == tagId) {
/* 236 */         return (String)item.get("TagName");
/*     */       }
/*     */     }
/* 239 */     return null;
/*     */   }
/*     */ 
/*     */   public boolean isAdminUser(String id)
/*     */   {
/* 249 */     if ((id == null) || (id.length() == 0)) {
/* 250 */       return false;
/*     */     }
/*     */ 
/* 253 */     if ((this.users == null) || (this.users.size() == 0)) {
/* 254 */       return false;
/*     */     }
/*     */ 
/* 257 */     for (User u : this.users) {
/* 258 */       if (u.userId.equals(id)) {
/* 259 */         return u.isAdmin;
/*     */       }
/*     */     }
/* 262 */     return false;
/*     */   }
/*     */ 
/*     */   public void setGroups(List<Map<String, Object>> items)
/*     */   {
/* 272 */     this.topGroups.clear();
/*     */ 
/* 274 */     if ((items == null) || (items.size() == 0)) {
/* 275 */       return;
/*     */     }
/*     */ 
/* 278 */     for (Map item : items) {
/* 279 */       int parentGroupId = ((Integer)item.get("ParentGroupId")).intValue();
/* 280 */       int groupId = ((Integer)item.get("GroupId")).intValue();
/* 281 */       String groupName = (String)item.get("GroupName");
/*     */ 
/* 283 */       Group group = new Group();
/* 284 */       group.setId(groupId);
/* 285 */       group.setName(groupName);
/*     */ 
/* 288 */       if (parentGroupId == 0) {
/* 289 */         group.setLevel(0);
/* 290 */         this.topGroups.add(group);
/*     */       }
/*     */       else
/*     */       {
/* 295 */         Group parent = getGroupById(parentGroupId);
/* 296 */         if (parent != null)
/*     */         {
/* 299 */           group.setParent(parent);
/* 300 */           group.setLevel(parent.getLevel() + 1);
/* 301 */           parent.add(group);
/*     */         }
/*     */       }
/*     */     }
/*     */   }
/*     */ 
/*     */   public boolean isGroupAdmin(User user, int groupId)
/*     */   {
/* 313 */     if (user.isAdmin) {
/* 314 */       return true;
/*     */     }
/*     */ 
/* 317 */     if (groupId <= 0) {
/* 318 */       return false;
/*     */     }
/*     */ 
/* 321 */     if (!user.isGroupAdmin) {
/* 322 */       return false;
/*     */     }
/*     */ 
/* 326 */     if (user.groupId == groupId) {
/* 327 */       return true;
/*     */     }
/*     */ 
/* 331 */     Group group = getGroupById(groupId);
/* 332 */     if (group == null) {
/* 333 */       return false;
/*     */     }
/*     */ 
/* 336 */     Group parent = group.getParent();
/* 337 */     while (parent != null) {
/* 338 */       if (user.groupId == parent.getId()) {
/* 339 */         return true;
/*     */       }
/*     */ 
/* 343 */       parent = parent.getParent();
/*     */     }
/*     */ 
/* 346 */     return false;
/*     */   }
/*     */ 
/*     */   public Group getGroupById(int id)
/*     */   {
/* 356 */     if (id <= 0) {
/* 357 */       return null;
/*     */     }
/* 359 */     if ((this.topGroups == null) || (this.topGroups.size() == 0)) {
/* 360 */       return null;
/*     */     }
/*     */ 
/* 363 */     for (Group child : this.topGroups) {
/* 364 */       Group group = getGroupById(child, id);
/* 365 */       if (group != null) {
/* 366 */         return group;
/*     */       }
/*     */     }
/* 369 */     return null;
/*     */   }
/*     */ 
/*     */   private Group getGroupById(Group group, int id)
/*     */   {
/* 380 */     if (group.getId() == id) {
/* 381 */       return group;
/*     */     }
/*     */ 
/* 384 */     for (Group child : group.getChildren()) {
/* 385 */       Group findGroup = getGroupById(child, id);
/* 386 */       if (findGroup != null) {
/* 387 */         return findGroup;
/*     */       }
/*     */     }
/*     */ 
/* 391 */     return null;
/*     */   }
/*     */ 
/*     */   public String getGroupName(User user)
/*     */   {
/* 400 */     if (user == null) {
/* 401 */       return null;
/*     */     }
/* 403 */     if (user.groupId == 0) {
/* 404 */       return null;
/*     */     }
/*     */ 
/* 407 */     if ((this.topGroups == null) || (this.topGroups.size() == 0)) {
/* 408 */       return null;
/*     */     }
/*     */ 
/* 411 */     for (Group group : this.topGroups) {
/* 412 */       String name = getGroupName(user.groupId, group);
/* 413 */       if (name != null) {
/* 414 */         return name;
/*     */       }
/*     */     }
/* 417 */     return null;
/*     */   }
/*     */ 
/*     */   private String getGroupName(int id, Group group)
/*     */   {
/* 428 */     if (id == group.getId()) {
/* 429 */       return group.getName();
/*     */     }
/*     */ 
/* 432 */     for (Group child : group.getChildren()) {
/* 433 */       String name = getGroupName(id, child);
/* 434 */       if (name != null) {
/* 435 */         return name;
/*     */       }
/*     */     }
/* 438 */     return null;
/*     */   }
/*     */ 
/*     */   public int getGroupId(String userId)
/*     */   {
/* 448 */     if ((userId == null) || (userId.length() == 0)) {
/* 449 */       return 0;
/*     */     }
/*     */ 
/* 452 */     if ((this.users == null) || (this.users.size() == 0)) {
/* 453 */       return 0;
/*     */     }
/*     */ 
/* 456 */     for (User u : this.users) {
/* 457 */       if (u.userId.equals(userId)) {
/* 458 */         return u.groupId;
/*     */       }
/*     */     }
/* 461 */     return 0;
/*     */   }
/*     */ 
/*     */   public List<String> getGroupUsersId(int groupId)
/*     */   {
/* 471 */     if (groupId < 0) {
/* 472 */       return null;
/*     */     }
/* 474 */     List usersId = new ArrayList();
/* 475 */     for (User u : this.users) {
/* 476 */       if (u.groupId == groupId) {
/* 477 */         usersId.add(u.userId);
/*     */       }
/*     */     }
/*     */ 
/* 481 */     return usersId;
/*     */   }
/*     */ 
/*     */   public User getUser(String userId)
/*     */   {
/* 492 */     if ((userId == null) || (userId.trim().length() == 0)) {
/* 493 */       return null;
/*     */     }
/* 495 */     if (this.users == null) {
/* 496 */       return null;
/*     */     }
/*     */ 
/* 499 */     for (User u : this.users) {
/* 500 */       if (u.userId.equals(userId)) {
/* 501 */         return u;
/*     */       }
/*     */     }
/* 504 */     return null;
/*     */   }
/*     */ 
/*     */   public String getUserName(String userId)
/*     */   {
/* 514 */     User u = getUser(userId);
/* 515 */     if (u == null) {
/* 516 */       return null;
/*     */     }
/* 518 */     return u.name;
/*     */   }
/*     */ 
/*     */   public List<Group> getPublicGroups(User user)
/*     */   {
/* 527 */     List groups = new ArrayList();
/*     */ 
/* 529 */     if (isCloseGroupPublicData()) {
/* 530 */       groups.add(getCompanyPublicGroup());
/* 531 */       return groups;
/*     */     }
/*     */ 
/* 534 */     if (user.isAdmin)
/*     */     {
/* 536 */       groups.add(getCompanyPublicGroup());
/* 537 */       groups.addAll(getAllGroups());
/* 538 */       return groups;
/*     */     }
/*     */ 
/* 541 */     boolean allowPublicFlag = false;
/* 542 */     if (("*".equals(this.allowPublicGroupList)) || (this.allowPublicGroupList == null)) {
/* 543 */       allowPublicFlag = true;
/*     */     } else {
/* 545 */       String[] allowGroupArray = this.allowPublicGroupList.split(",");
/* 546 */       for (String s : allowGroupArray) {
/* 547 */         if (Util.str2Int(s) == user.groupId) {
/* 548 */           allowPublicFlag = true;
/* 549 */           break;
/*     */         }
/*     */       }
/*     */     }
/*     */ 
/* 554 */     if (allowPublicFlag) {
/* 555 */       groups.add(getCompanyPublicGroup());
/*     */     }
/*     */ 
/* 559 */     if (user.isGroupAdmin)
/*     */     {
/* 561 */       Group userGroup = getGroupById(user.groupId);
/* 562 */       if (userGroup != null) {
/* 563 */         groups.addAll(userGroup.getAllGroups());
/*     */       }
/* 565 */       return groups;
/*     */     }
/*     */ 
/* 569 */     if (user.groupId > 0) {
/* 570 */       groups.add(getGroupById(user.groupId));
/*     */     }
/* 572 */     return groups;
/*     */   }
/*     */ 
/*     */   private Group getCompanyPublicGroup()
/*     */   {
/* 580 */     Group group = new Group();
/* 581 */     group.setId(0);
/* 582 */     group.setName("公司");
/* 583 */     return group;
/*     */   }
/*     */ }

/* Location:           C:\E\referenceProject\CRM参考\qikebao\WEB-INF\lib\qikebao.jar
 * Qualified Name:     com.newcrm.bean.CompanyInfo
 * JD-Core Version:    0.6.1
 */